|
Menu location |
---|
TechDraw → Page → Insert Page using Template |
Workbenches |
TechDraw |
Default shortcut |
None |
Introduced in version |
- |
See also |
TechDraw PageDefault, TechDraw Templates |
The TechDraw PageTemplate tool creates a new Page object using the template file selected from a dialog.
The starting directory for the dialog can be specified in the TechDraw Preferences.
One of the templates that comes with TechDraw: A4_Landscape_ISO7200_Pep.svg
See TechDraw PageDefault.
See also: Autogenerated API documentation and FreeCAD Scripting Basics.
A Page based on a selected template can be created with macros and from the Python console by using the following functions:
import FreeCAD as App
from PySide import QtGui
doc = App.ActiveDocument
default_dir = App.getResourceDir() + "Mod/TechDraw/Templates"
param = App.ParamGet("User parameter:BaseApp/Preferences/Mod/TechDraw/Files")
template_dir = param.GetString("TemplateDir", default_dir)
template_file = QtGui.QFileDialog.getOpenFileName(QtGui.QApplication.activeWindow(),
"Select a Template File",
template_dir,
"Template (*.svg)")
page = doc.addObject("TechDraw::DrawPage", "Page")
template = doc.addObject("TechDraw::DrawSVGTemplate", "Template")
template.Template = template_file[0]
page.Template = template
doc.recompute()
See also: TechDraw Templates for more information on creating templates.
Once a new page has been created, its Template
attribute holds an EditableTexts
dictionary with the name of the editable fields (keys) and their textual values. Copy this dictionary to a variable, make changes, and then re-assign the dictionary to the EditableTexts
attribute to see the changes.
page = FreeCAD.ActiveDocument.Page
texts = page.Template.EditableTexts
for key, value in texts.items():
print("{0} = {1}".format(key, value))
texts["FC-Title"] = "The title of my page"
page.Template.EditableTexts = texts